package com.sdy.approval.biz.model;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sdy.common.model.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 审批记录
 * </p>
 *
 * @author cgj
 * @since 2019-08-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class TpApproveFlow extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId
    private Integer id;

    /**
     * 申请单号
     */
    private String applyId;

    /**
     * 资源id
     */
    private String resId;

    /**
     * 审核用户
     */
    private Integer userId;
    
    /**
     * 审核部门id
     */
    private Integer approvalDeptId;
    
    /**
     * 审核角色id
     */
    private Integer approvalRoleId;
    
    /**
	 * 部门名称
	 */
	@TableField(exist = false)
	private String deptName;
	
	/**
	 * 审批人名称
	 */
	@TableField(exist = false)
	private String approvalName;

    /**
     * 审核状态 1-未审核 2-通过 3-驳回
     */
    private Integer result;
    
    /**
     *  流程是否废除(1未废除 2废除）
     */
    private Integer flowAvailable;
    
    /**
     *  版本号
     */
    private Integer edition;

    /**
     * 审核意见
     */
    private String auditOpinion;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = DATETIME_FORMAT)
    private Date createTime;
    
    /**
     * 修改时间
     */
    @JsonFormat(pattern = DATETIME_FORMAT)
    private Date modifyTime;
    
    /**
     * 修改人员id
     */
    private Integer modifyUser;

    /**
     * 当前审批流程节点id
     */
    private Integer currentFlowLink;

    /**
     * 下一审批流程节点id
     */
    private Integer nextFlowLink;

    /**
     * 附件
     */
    private String appendix;

    /**
     * 取消人员id
     */
    private Integer cancelUserId;

    /**
     * 操作类型(1.提交 2.修改并提交 3.撤回 4.取消)
     */
    private Integer operType;

    /**
     * 申请时关联的流程模板版本
     */
    private Integer configHisNum;
}
